home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 22 / CU Amiga Magazine's Super CD-ROM 22 (1998)(EMAP Images)(GB)[!][issue 1998-05].iso / PowerPC / Programming / PPCSmallEiffel / bin_c / short18.c < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-16  |  32.2 KB  |  1,220 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.82)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "short.h"
  9. void r406short(T406* C){
  10. char _c=0;
  11. int _i=0;
  12. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms1_406),((T0*)ms2_406));
  13. _i=1;
  14. while (!((_i)>((((T7*)((T7*)((((T406*)C))->_to_string/*4*/))))->_count/*4*/))) {
  15. _c=/*(IRF4.6item*/((((T7*)((T7*)((((T406*)C))->_to_string/*4*/))))->_storage/*0*/)[(_i)-(1)]/*)*/;
  16. /*[IRF3.6a_character*/{char b1=_c;
  17. /*[IRF3.6put_character*/{T830* C2=((T830*)(oBC1std_output));
  18. char c1=b1;
  19. putc(c1,((FILE*)(stdout)));
  20. }/*]*/
  21. }/*]*/
  22. _i=(_i)+(1);
  23. }
  24. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms3_406),((T0*)ms4_406));
  25. }
  26. /*No:PREFIX_NAME.set_is_frozen*/
  27. void r406make(T406* C,T0* a1,T0* a2){
  28. C->_to_string=r902item(a1);
  29. C->_start_position=a2;
  30. C->_to_key=r902for_prefix((((T406*)C))->_to_string/*4*/);
  31. }
  32. /*No:PREFIX_NAME.to_string*/
  33. /*No:PREFIX_NAME.start_position*/
  34. /*No:PREFIX_NAME.to_key*/
  35. /*No:PREFIX_NAME.is_frozen*/
  36. void r406undefine_in(T406* C,T0* a1){
  37. /*IF*/if ((((T406*)C))->_is_frozen/*12*/) {
  38. r406error((((T406*)C))->_start_position/*8*/,((T0*)ms1_776));
  39. r605fatal_undefine(((T605*)a1),(T0*)C);
  40. }
  41. /*FI*/}
  42. void r406error(T0* a1,T0* a2){
  43. r683add_position(a1);
  44. r683error(((T683*)(oBC364eh)),a2);
  45. }
  46. T0* r406origin_base_class(T406* C){
  47. T0* R=NULL;
  48. T0* _sp=NULL;
  49. _sp=(((T406*)C))->_start_position/*8*/;
  50. /*IF*/if ((_sp)!=((void*)(NULL))) {
  51. R=r627base_class(((T627*)_sp));
  52. }
  53. /*FI*/return R;
  54. }
  55. void r675connect_to(T675* C,T0* a1){
  56. C->_input_stream=fopen(r7to_external(((T7*)a1)),"r");
  57. /*IF*/if ((NULL!=(((T675*)C))->_input_stream/*8*/)) {
  58. C->_push_back_flag=0;
  59. C->_memory=((unsigned char)'\40');
  60. C->_path=a1;
  61. }
  62. /*FI*/}
  63. T0*oBC762last_string=NULL;
  64. /*No:STD_FILE_READ.push_back_flag*/
  65. void r675skip_separators(T675* C){
  66. while (!((r675end_of_input(C))||(!(r3is_separator(/*(IRF4.6last_character*/((char)((((T675*)C))->_memory/*12*/))/*)*/))))) {
  67. r675read_character(C);
  68. }
  69. }
  70. /*No:STD_FILE_READ.make*/
  71. void r675disconnect(T675* C){
  72. fclose((((T675*)C))->_input_stream/*8*/);
  73. C->_path=NULL;
  74. }
  75. /*No:STD_FILE_READ.path*/
  76. void r675read_character(T675* C){
  77. /*IF*/if ((((T675*)C))->_push_back_flag/*0*/) {
  78. C->_push_back_flag=0;
  79. }
  80. else {
  81. C->_memory=getc((FILE*)((((T675*)C))->_input_stream/*8*/));
  82. }
  83. /*FI*/}
  84. /*No:STD_FILE_READ.is_connected*/
  85. void r675read_word(T675* C){
  86. r675skip_separators(C);
  87. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC762last_string)))))->_count)=(0);
  88. /*]*/
  89. while (!((r675end_of_input(C))||(r3is_separator(/*(IRF4.6last_character*/((char)((((T675*)C))->_memory/*12*/))/*)*/)))) {
  90. r7extend(((T7*)(oBC762last_string)),/*(IRF4.6last_character*/((char)((((T675*)C))->_memory/*12*/))/*)*/);
  91. r675read_character(C);
  92. }
  93. }
  94. /*No:STD_FILE_READ.last_character*/
  95. void r675read_line_in(T675* C,T0* a1){
  96. int _mem=0;
  97. r675read_character(C);
  98. _mem=(((T675*)C))->_memory/*12*/;
  99. while (!(((_mem)==((EOF)))||((_mem)==(((unsigned char)'\n'))))) {
  100. r7extend(((T7*)a1),((char)(_mem)));
  101. _mem=getc((FILE*)((((T675*)C))->_input_stream/*8*/));
  102. }
  103. C->_memory=_mem;
  104. }
  105. int r675end_of_input(T675* C){
  106. int R=0;
  107. /*IF*/if (!((((T675*)C))->_push_back_flag/*0*/)) {
  108. R=((((T675*)C))->_memory/*12*/)==((EOF));
  109. }
  110. /*FI*/return R;
  111. }
  112. void r675read_line(T675* C){
  113. /*[IRF3.3clear*/((((T7*)(((T7*)(oBC762last_string)))))->_count)=(0);
  114. /*]*/
  115. r675read_line_in(C,oBC762last_string);
  116. }
  117. /*No:STD_FILE_READ.input_stream*/
  118. /*No:STD_FILE_READ.memory*/
  119. T0* r347add_comment(T347* C,T0* a1){
  120. T0* R=NULL;
  121. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  122. R=(T0*)C;
  123. }
  124.  else {/*AT*//*IF*/if ((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(1)) {
  125. R=(T0*)C;
  126. }
  127. else {
  128. {T59*n=malloc(sizeof(*n));
  129. *n=M59;
  130. r59make(n,(T0*)C,a1);
  131. R=(T0*)n;
  132. }
  133. }
  134. /*FI*/}
  135. /*FI*/return R;
  136. }
  137. void r347make(T347* C,T0* a1,T0* a2,T0* a3){
  138. C->_start_position=a1;
  139. C->_list=a2;
  140. C->_compound=a3;
  141. }
  142. /*No:E_DEBUG.start_position*/
  143. T0* r347to_runnable(T347* C,T0* a1){
  144. T0* R=NULL;
  145. /*IF*/if (((((T347*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  146. C->_run_compound=a1;
  147. /*IF*/if (r590debug_check(((T590*)(oBC364run_control)))) {
  148. /*IF*/if (((((T347*)C))->_compound/*16*/)!=((void*)(NULL))) {
  149. C->_compound=r592to_runnable(((T592*)((((T347*)C))->_compound/*16*/)),r347current_type(C));
  150. }
  151. /*FI*/}
  152. /*FI*/R=(T0*)C;
  153. }
  154. else {
  155. {T347*n=malloc(sizeof(*n));
  156. *n=M347;
  157. r347make(n,(((T347*)C))->_start_position/*8*/,(((T347*)C))->_list/*12*/,(((T347*)C))->_compound/*16*/);
  158. R=(T0*)n;
  159. }
  160. R=r347to_runnable(((T347*)R),a1);
  161. }
  162. /*FI*/return R;
  163. }
  164. /*No:E_DEBUG.list*/
  165. T0* r347current_type(T347* C){
  166. T0* R=NULL;
  167. /*IF*/if (((((T347*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
  168. R=(((T592*)((T592*)((((T347*)C))->_run_compound/*4*/))))->_current_type/*4*/;
  169. }
  170. /*FI*/return R;
  171. }
  172. /*No:E_DEBUG.run_compound*/
  173. /*No:E_DEBUG.compound*/
  174. /*No:E_DEBUG.end_mark_comment*/
  175. /*No:CALL_INFIX_LE.arguments*/
  176. void r932short(T932* C){
  177. /*IF*/if ((X662precedence((((T932*)C))->_target/*8*/))==(13)) {
  178. X662short((((T932*)C))->_target/*8*/);
  179. /*[IRF3.6short_print_feature_name*/{T932* C1=C;
  180. r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T932*)C1))->_feature_name/*24*/);
  181. }/*]*/
  182. /*IF*/if ((X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T932*)C))->_arguments/*20*/)))/*)*/))==(13)) {
  183. X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T932*)C))->_arguments/*20*/)))/*)*/);
  184. }
  185.  else if ((6)>=(X662precedence(/*(IRF4.6arg1*/r431first(((T431*)((((T932*)C))->_arguments/*20*/)))/*)*/))) {
  186. X662bracketed_short(/*(IRF4.6arg1*/r431first(((T431*)((((T932*)C))->_arguments/*20*/)))/*)*/);
  187. }
  188. else {
  189. X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T932*)C))->_arguments/*20*/)))/*)*/);
  190. }
  191. /*FI*/}
  192.  else if ((X662precedence((((T932*)C))->_target/*8*/))<(6)) {
  193. X662bracketed_short((((T932*)C))->_target/*8*/);
  194. /*[IRF3.6short_print_feature_name*/{T932* C1=C;
  195. r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T932*)C1))->_feature_name/*24*/);
  196. }/*]*/
  197. X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T932*)C))->_arguments/*20*/)))/*)*/);
  198. }
  199. else {
  200. X662short((((T932*)C))->_target/*8*/);
  201. /*[IRF3.6short_print_feature_name*/{T932* C1=C;
  202. r580a_infix_name(((T580*)(oBC364short_print)),((T0*)ms2_618),((T0*)ms3_618),((T0*)ms4_618),((T0*)ms5_618),(((T932*)C1))->_feature_name/*24*/);
  203. }/*]*/
  204. X662short(/*(IRF4.6arg1*/r431first(((T431*)((((T932*)C))->_arguments/*20*/)))/*)*/);
  205. }
  206. /*FI*/}
  207. T0* r932add_comment(T932* C,T0* a1){
  208. T0* R=NULL;
  209. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  210. R=(T0*)C;
  211. }
  212. else {
  213. {T529*n=malloc(sizeof(*n));
  214. *n=M529;
  215. r529make(n,(T0*)C,a1);
  216. R=(T0*)n;
  217. }
  218. }
  219. /*FI*/return R;
  220. }
  221. int r932to_integer(T932* C){
  222. int R=0;
  223. r932error(/*(IRF4.6start_position*/(((T454*)((T454*)((((T932*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/,((T0*)ms69_470));
  224. return R;
  225. }
  226. void r932bracketed_short(T932* C){
  227. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_662),((T0*)ms7_662));
  228. r932short(C);
  229. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms8_662),((T0*)ms9_662));
  230. }
  231. int r932is_a(T932* C,T0* a1){
  232. int R=0;
  233. R=X291is_a(X291run_type((((T932*)C))->_result_type/*16*/),X291run_type(X662result_type(a1)));
  234. /*IF*/if (!(R)) {
  235. r683add_position(/*(IRF4.6start_position*/(((T454*)((T454*)((((T932*)C))->_feature_name/*24*/))))->_start_position/*8*//*)*/);
  236. r932error(X662start_position(a1),((T0*)ms4_662));
  237. }
  238. /*FI*/return R;
  239. }
  240. /*No:CALL_INFIX_LE.is_current*/
  241. void r932make(T932* C,T0* a1,T0* a2,T0* a3){
  242. T0* _eal=NULL;
  243. /*IF*/if (((a1)==((void*)(NULL)))||((a3)==((void*)(NULL)))) {
  244. r683add_position(a2);
  245. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms1_618);
  246. r683fatal_error(((T683*)(oBC364eh)),b1);
  247. }/*]*/
  248. }
  249. /*FI*/{T454*n=malloc(sizeof(*n));
  250. *n=M454;
  251. r454make(n,r932operator(),a2);
  252. C->_feature_name=(T0*)n;
  253. }
  254. {T431*n=malloc(sizeof(*n));
  255. *n=M431;
  256. /*[IRF3.3make*/((((T431*)(n)))->_list)=(se_ma96(1,a3));
  257. /*]*/
  258. _eal=(T0*)n;
  259. }
  260. r932make_call_1(C,a1,(((T932*)C))->_feature_name/*24*/,_eal);
  261. }
  262. /*No:CALL_INFIX_LE.nb_errors*/
  263. /*No:CALL_INFIX_LE.feature_name*/
  264. /*No:CALL_INFIX_LE.fz_iinaiv*/
  265. /*No:CALL_INFIX_LE.run_feature*/
  266. /*No:CALL_INFIX_LE.start_position*/
  267. /*No:CALL_INFIX_LE.target*/
  268. /*No:CALL_INFIX_LE.precedence*/
  269. T0* r932to_runnable(T932* C,T0* a1){
  270. T0* R=NULL;
  271. T0* _tla=NULL;
  272. T0* _a=NULL;
  273. /*IF*/if (((((T932*)C))->_current_type/*4*/)==((void*)(NULL))) {
  274. r932to_runnable_0(C,a1);
  275. _a=r431to_runnable(((T431*)((((T932*)C))->_arguments/*20*/)),a1);
  276. /*IF*/if ((_a)==((void*)(NULL))) {
  277. r932error(X662start_position(/*(IRF4.6arg1*/r431first(((T431*)((((T932*)C))->_arguments/*20*/)))/*)*/),((T0*)ms55_470));
  278. }
  279. else {
  280. C->_arguments=_a;
  281. }
  282. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  283. r431match_with(((T431*)((((T932*)C))->_arguments/*20*/)),(((T932*)C))->_run_feature/*12*/);
  284. }
  285. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  286. _tla=(((T932*)C))->_result_type/*16*/;
  287. if(NULL!=(_tla))switch(((T0*)_tla)->id) {
  288. case 239: 
  289. break;
  290. default:
  291. _tla=NULL;
  292. };/*IF*/if ((_tla)!=((void*)(NULL))) {
  293. C->_result_type=X291run_type(X662result_type(/*(IRF4.6arg1*/r431first(((T431*)((((T932*)C))->_arguments/*20*/)))/*)*/));
  294. }
  295. /*FI*/}
  296. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  297. R=(T0*)C;
  298. }
  299. /*FI*/}
  300. else {
  301. R=r932twin(C);
  302. /*[IRF3.3set_current_type*/((((T932*)(((T932*)R))))->_current_type)=(NULL);
  303. /*]*/
  304. R=r932to_runnable(((T932*)R),a1);
  305. }
  306. /*FI*/return R;
  307. }
  308. /*No:CALL_INFIX_LE.short_print_feature_name*/
  309. /*No:CALL_INFIX_LE.result_type*/
  310. T0* r932twin(T932* C){
  311. T0* R=NULL;
  312. R=malloc(sizeof(*C));
  313. *((T932*)R)=*C;
  314. return R;
  315. }
  316. /*No:CALL_INFIX_LE.set_current_type*/
  317. /*No:CALL_INFIX_LE.us_le*/
  318. T0* r932operator(void){
  319. T0* R=NULL;
  320. R=((T0*)ms35_473);
  321. return R;
  322. }
  323. /*No:CALL_INFIX_LE.atomic_precedence*/
  324. /*No:CALL_INFIX_LE.current_type*/
  325. void r932make_call_1(T932* C,T0* a1,T0* a2,T0* a3){
  326. C->_target=a1;
  327. C->_feature_name=a2;
  328. C->_arguments=a3;
  329. }
  330. /*No:CALL_INFIX_LE.is_manifest_string*/
  331. /*No:CALL_INFIX_LE.is_void*/
  332. void r932to_runnable_0(T932* C,T0* a1){
  333. C->_current_type=a1;
  334. r932cpc_to_runnable(C,a1);
  335. C->_result_type=/*X496*/((T0*)(((T808*)((T808*)((((T932*)C))->_run_feature/*12*/))))->_result_type/*24*/);
  336. /*IF*/if (((((T932*)C))->_result_type/*16*/)==((void*)(NULL))) {
  337. r683add_position(X496start_position((((T932*)C))->_run_feature/*12*/));
  338. r932error((((T454*)((T454*)((((T932*)C))->_feature_name/*24*/))))->_start_position/*8*/,((T0*)ms1_295));
  339. }
  340.  else if (X291is_like_current((((T932*)C))->_result_type/*16*/)) {
  341. C->_result_type=X662result_type((((T932*)C))->_target/*8*/);
  342. }
  343. /*FI*/}
  344. void r932cpc_to_runnable(T932* C,T0* a1){
  345. T0* _rc=NULL;
  346. T0* _t=NULL;
  347. _t=X662to_runnable((((T932*)C))->_target/*8*/,a1);
  348. /*IF*/if ((_t)==((void*)(NULL))) {
  349. r683add_position(X662start_position((((T932*)C))->_target/*8*/));
  350. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms2_135);
  351. r683fatal_error(((T683*)(oBC364eh)),b1);
  352. }/*]*/
  353. }
  354. /*FI*/C->_target=_t;
  355. _rc=X291run_class(X662result_type((((T932*)C))->_target/*8*/));
  356. C->_run_feature=r368get_rf(((T368*)_rc),(T0*)C);
  357. r576update((((T932*)C))->_target/*8*/,(((T932*)C))->_run_feature/*12*/);
  358. }
  359. void r932error(T0* a1,T0* a2){
  360. r683add_position(a1);
  361. r683error(((T683*)(oBC364eh)),a2);
  362. }
  363. /*No:CALL_INFIX_LE.fatal_error*/
  364. /*No:CALL_INFIX_LE.fz_bad_argument*/
  365. void r932short_target(T932* C){
  366. r932bracketed_short(C);
  367. /*[IRF3.6a_dot*/{T580* C1=((T580*)(oBC364short_print));
  368. r580hook_or(C1,((T0*)ms58_580),((T0*)ms67_470));
  369. }/*]*/
  370. }
  371. /*No:CALL_INFIX_LE.arg1*/
  372. /*No:PARSER_BUFFER.make*/
  373. int fBC676buffer=0;
  374. T9 oBC676buffer=NULL;
  375. T9 r676buffer(void){
  376. if (fBC676buffer==0){
  377. T9 R=NULL;
  378. fBC676buffer=1;
  379. R=calloc(4096,sizeof(char));
  380. oBC676buffer=R;}
  381. return oBC676buffer;}
  382. /*No:PARSER_BUFFER.path*/
  383. int r676read_file(T0* a1){
  384. int R=0;
  385. T9 _b=NULL;
  386. T0* _line=NULL;
  387. char _c=0;
  388. int _nb_read=0;
  389. int _i=0;
  390. int _file=0;
  391. void* _p=0;
  392. _p=r7to_external(((T7*)a1));
  393. _file=open(_p,O_RDONLY,0);/*IF*/if ((_file)>=(0)) {
  394. _b=r676buffer();
  395. _line=r676next_line(0);
  396. _line=r676next_line(1);
  397. R=1;
  398. _nb_read=4096;
  399. while (!((_nb_read)<(4096))) {
  400. _nb_read=read(_file,_b,4096);
  401. _i=0;
  402. while (!((_i)==(_nb_read))) {
  403. _c=(_b)[_i];
  404. /*IF*/if ((_c)==('\n')) {
  405. R=(R)+(1);
  406. _line=r676next_line(R);
  407. }
  408.  else if ((_c)==('\15')) {
  409. }
  410. else {
  411. r7extend(((T7*)_line),_c);
  412. }
  413. /*FI*/_i=(_i)+(1);
  414. }
  415. }
  416. /*IF*/if (/*(IRF4.7empty*/((((T7*)((T7*)_line)))->_count/*4*/)==(0)/*)*/) {
  417. R=(R)-(1);
  418. }
  419. /*FI*/_file=close(_file);
  420. }
  421. else {
  422. R=-(1);
  423. }
  424. /*FI*/return R;
  425. }
  426. T0* r676item(int a1){
  427. T0* R=NULL;
  428. R=/*(IRF4.6item*/((((T927*)((T927*)(oBC676text))))->_storage/*0*/)[a1]/*)*/;
  429. return R;
  430. }
  431. void r676load_file(T676* C,T0* a1){
  432. C->_count=r676read_file(a1);
  433. /*IF*/if (((((T676*)C))->_count/*4*/)>=(0)) {
  434. C->_path=a1;
  435. }
  436. else {
  437. C->_path=NULL;
  438. }
  439. /*FI*/}
  440. /*No:PARSER_BUFFER.is_ready*/
  441. T0*oBC676text=NULL;
  442. /*No:PARSER_BUFFER.medium_line_size*/
  443. /*No:PARSER_BUFFER.buffer_size*/
  444. /*No:PARSER_BUFFER.count*/
  445. /*No:PARSER_BUFFER.unset_is_ready*/
  446. T0* r676next_line(int a1){
  447. T0* R=NULL;
  448. /*IF*/if ((a1)<=((((T927*)((T927*)(oBC676text))))->_upper/*8*/)) {
  449. R=/*(IRF4.6item*/((((T927*)((T927*)(oBC676text))))->_storage/*0*/)[a1]/*)*/;
  450. /*[IRF3.3clear*/((((T7*)(((T7*)R))))->_count)=(0);
  451. /*]*/
  452. }
  453. else {
  454. {T7*n=malloc(sizeof(*n));
  455. *n=M7;
  456. r7make(n,80);
  457. R=(T0*)n;
  458. }
  459. r927add_last(((T927*)(oBC676text)),R);
  460. }
  461. /*FI*/return R;
  462. }
  463. T0* r629add_comment(T629* C,T0* a1){
  464. T0* R=NULL;
  465. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  466. R=(T0*)C;
  467. }
  468. /*AF*/else {
  469. {T59*n=malloc(sizeof(*n));
  470. *n=M59;
  471. r59make(n,(T0*)C,a1);
  472. R=(T0*)n;
  473. }
  474. }
  475. /*FI*/return R;
  476. }
  477. void r629make(T629* C,T0* a1,T0* a2){
  478. C->_left_side=a1;
  479. C->_right_side=a2;
  480. }
  481. /*No:ASSIGNMENT.nb_errors*/
  482. T0* r629start_position(T629* C){
  483. T0* R=NULL;
  484. R=X662start_position((((T629*)C))->_left_side/*8*/);
  485. return R;
  486. }
  487. T0* r629to_runnable(T629* C,T0* a1){
  488. T0* R=NULL;
  489. T0* _e=NULL;
  490. T0* _right_run_type=NULL;
  491. T0* _left_run_type=NULL;
  492. /*IF*/if (((((T629*)C))->_run_compound/*4*/)==((void*)(NULL))) {
  493. C->_run_compound=a1;
  494. _e=X662to_runnable((((T629*)C))->_left_side/*8*/,r629current_type(C));
  495. /*IF*/if ((_e)==((void*)(NULL))) {
  496. r629error(X662start_position((((T629*)C))->_left_side/*8*/),((T0*)ms62_470));
  497. }
  498. else {
  499. C->_left_side=_e;
  500. }
  501. /*FI*/_e=X662to_runnable((((T629*)C))->_right_side/*12*/,r629current_type(C));
  502. /*IF*/if ((_e)==((void*)(NULL))) {
  503. r629error(X662start_position((((T629*)C))->_right_side/*12*/),((T0*)ms63_470));
  504. }
  505. else {
  506. C->_right_side=_e;
  507. }
  508. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  509. /*IF*/if (!(X662is_a((((T629*)C))->_right_side/*12*/,(((T629*)C))->_left_side/*8*/))) {
  510. r629error(X662start_position((((T629*)C))->_left_side/*8*/),((T0*)ms2_629));
  511. }
  512. /*FI*/}
  513. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  514. _left_run_type=X291run_type(r629left_type(C));
  515. _right_run_type=X291run_type(r629right_type(C));
  516. /*IF*/if (X291is_reference(_left_run_type)) {
  517. /*IF*/if (X291is_reference(_right_run_type)) {
  518. }
  519. else {
  520. X291used_as_reference(_right_run_type);
  521. }
  522. /*FI*/}
  523. else {
  524. /*IF*/if (X291is_reference(_right_run_type)) {
  525. /*IF*/if (X662is_void((((T629*)C))->_right_side/*12*/)) {
  526. r683add_position(X662start_position((((T629*)C))->_right_side/*12*/));
  527. /*[IRF3.6append*/{T0* b1=((T0*)ms3_629);
  528. r7append(((T7*)(oBC683explanation)),b1);
  529. }/*]*/
  530. r683add_type(r629left_type(C),((T0*)ms4_629));
  531. r683print_as_error(((T683*)(oBC364eh)));
  532. }
  533. else {
  534. r629warning(X662start_position((((T629*)C))->_left_side/*8*/),((T0*)ms5_629));
  535. }
  536. /*FI*/}
  537. /*FI*/}
  538. /*FI*/}
  539. /*FI*//*IF*/if ((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)==(0)) {
  540. R=(T0*)C;
  541. }
  542. /*FI*/}
  543. else {
  544. {T629*n=malloc(sizeof(*n));
  545. *n=M629;
  546. r629make(n,(((T629*)C))->_left_side/*8*/,(((T629*)C))->_right_side/*12*/);
  547. R=(T0*)n;
  548. }
  549. R=r629to_runnable(((T629*)R),a1);
  550. }
  551. /*FI*/return R;
  552. }
  553. T0* r629right_type(T629* C){
  554. T0* R=NULL;
  555. R=X662result_type((((T629*)C))->_right_side/*12*/);
  556. return R;
  557. }
  558. /*No:ASSIGNMENT.left_side*/
  559. T0* r629current_type(T629* C){
  560. T0* R=NULL;
  561. /*IF*/if (((((T629*)C))->_run_compound/*4*/)!=((void*)(NULL))) {
  562. R=(((T592*)((T592*)((((T629*)C))->_run_compound/*4*/))))->_current_type/*4*/;
  563. }
  564. /*FI*/return R;
  565. }
  566. /*No:ASSIGNMENT.run_compound*/
  567. /*No:ASSIGNMENT.right_side*/
  568. /*No:ASSIGNMENT.fz_blhsoa*/
  569. /*No:ASSIGNMENT.fz_brhsoa*/
  570. void r629error(T0* a1,T0* a2){
  571. r683add_position(a1);
  572. r683error(((T683*)(oBC364eh)),a2);
  573. }
  574. /*No:ASSIGNMENT.end_mark_comment*/
  575. T0* r629left_type(T629* C){
  576. T0* R=NULL;
  577. R=X662result_type((((T629*)C))->_left_side/*8*/);
  578. return R;
  579. }
  580. void r629warning(T0* a1,T0* a2){
  581. r683add_position(a1);
  582. r683warning(((T683*)(oBC364eh)),a2);
  583. }
  584. void r239short(T239* C){
  585. r580hook(((T580*)(oBC364short_print)),((T0*)ms1_291));
  586. r239short_hook(C);
  587. r580hook(((T580*)(oBC364short_print)),((T0*)ms2_291));
  588. }
  589. T0*oBC646tmp_written_mark=NULL;
  590. int r239has_creation(T239* C,T0* a1){
  591. int R=0;
  592. R=X291has_creation((((T239*)C))->_run_type/*8*/,a1);
  593. return R;
  594. }
  595. /*No:TYPE_LIKE_ARGUMENT.is_anchored*/
  596. int r239is_array(T239* C){
  597. int R=0;
  598. R=X291is_array((((T239*)C))->_run_type/*8*/);
  599. return R;
  600. }
  601. int r239is_a(T239* C,T0* a1){
  602. int R=0;
  603. R=X291is_a((((T239*)C))->_run_type/*8*/,a1);
  604. return R;
  605. }
  606. int r239is_pointer(T239* C){
  607. int R=0;
  608. R=X291is_pointer((((T239*)C))->_run_type/*8*/);
  609. return R;
  610. }
  611. /*No:TYPE_LIKE_ARGUMENT.run_type*/
  612. int r239is_string(T239* C){
  613. int R=0;
  614. R=X291is_string((((T239*)C))->_run_type/*8*/);
  615. return R;
  616. }
  617. /*No:TYPE_LIKE_ARGUMENT.is_like_feature*/
  618. /*No:TYPE_LIKE_ARGUMENT.is_like_current*/
  619. T0* r239ultimate_run_type(T239* C,T0* a1){
  620. T0* R=NULL;
  621. T0* _t=NULL;
  622. _t=a1;
  623. while (!((_t)==((void*)(X291run_type(_t))))) {
  624. _t=X291run_type(_t);
  625. }
  626. /*IF*/if (((((T239*)C))->_run_type/*8*/)==((void*)(NULL))) {
  627. C->_run_type=_t;
  628. R=(T0*)C;
  629. }
  630. else {
  631. R=r239twin(C);
  632. /*[IRF3.3set_run_type*/((((T239*)(((T239*)R))))->_run_type)=(_t);
  633. /*]*/
  634. }
  635. /*FI*/return R;
  636. }
  637. void r239make(T239* C,T0* a1,T0* a2){
  638. C->_start_position=a1;
  639. C->_like_what=a2;
  640. r7copy(((T7*)(oBC646tmp_written_mark)),((T0*)ms113_470));
  641. r7append(((T7*)(oBC646tmp_written_mark)),(((T886*)((T886*)((((T239*)C))->_like_what/*12*/))))->_to_string/*8*/);
  642. C->_written_mark=r902item(oBC646tmp_written_mark);
  643. }
  644. void r239anchor_cycle_start(T239* C){
  645. int _i=0;
  646. /*IF*/if (((((T907*)((T907*)(oBC646visited))))->_upper/*8*/)<(0)) {
  647. r907add_last(((T907*)(oBC646visited)),(((T239*)C))->_start_position/*4*/);
  648. }
  649.  else if (r907fast_has(((T907*)(oBC646visited)),(((T239*)C))->_start_position/*4*/)) {
  650. _i=0;
  651. while (!((_i)>((((T907*)((T907*)(oBC646visited))))->_upper/*8*/))) {
  652. r683add_position(/*(IRF4.6item*/((((T907*)((T907*)(oBC646visited))))->_storage/*0*/)[_i]/*)*/);
  653. _i=(_i)+(1);
  654. }
  655. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms64_470);
  656. r683fatal_error(((T683*)(oBC364eh)),b1);
  657. }/*]*/
  658. }
  659. else {
  660. r907add_last(((T907*)(oBC646visited)),(((T239*)C))->_start_position/*4*/);
  661. }
  662. /*FI*/}
  663. /*No:TYPE_LIKE_ARGUMENT.fz_bad_anchor*/
  664. /*No:TYPE_LIKE_ARGUMENT.start_position*/
  665. /*No:TYPE_LIKE_ARGUMENT.like_what*/
  666. int r239is_character(T239* C){
  667. int R=0;
  668. R=X291is_character((((T239*)C))->_run_type/*8*/);
  669. return R;
  670. }
  671. /*No:TYPE_LIKE_ARGUMENT.written_mark*/
  672. /*No:TYPE_LIKE_ARGUMENT.is_run_type*/
  673. T0* r239to_runnable(T239* C,T0* a1){
  674. T0* R=NULL;
  675. T0* _t=NULL;
  676. r239anchor_cycle_start(C);
  677. _t=X291to_runnable((((T886*)((T886*)((((T239*)C))->_like_what/*12*/))))->_result_type/*20*/,a1);
  678. /*IF*/if ((_t)==((void*)(NULL))) {
  679. r239error((((T239*)C))->_start_position/*4*/,((T0*)ms54_470));
  680. }
  681. /*FI*/R=r239ultimate_run_type(C,_t);
  682. r239anchor_cycle_end(C);
  683. return R;
  684. }
  685. /*No:TYPE_LIKE_ARGUMENT.rank*/
  686. T0* r239generic_list(T239* C){
  687. T0* R=NULL;
  688. /*IF*/if (r239is_generic(C)) {
  689. R=X291generic_list((((T239*)C))->_run_type/*8*/);
  690. }
  691. else {
  692. r239fatal_error_generic_list(C);
  693. }
  694. /*FI*/return R;
  695. }
  696. /*No:TYPE_LIKE_ARGUMENT.is_formal_generic*/
  697. int r239is_real(T239* C){
  698. int R=0;
  699. R=X291is_real((((T239*)C))->_run_type/*8*/);
  700. return R;
  701. }
  702. T0* r239twin(T239* C){
  703. T0* R=NULL;
  704. R=malloc(sizeof(*C));
  705. *((T239*)R)=*C;
  706. return R;
  707. }
  708. int r239is_bit(T239* C){
  709. int R=0;
  710. R=X291is_bit((((T239*)C))->_run_type/*8*/);
  711. return R;
  712. }
  713. void r239fatal_error_generic_list(T239* C){
  714. r683add_type((T0*)C,((T0*)ms12_291));
  715. r683print_as_fatal_error(((T683*)(oBC364eh)));
  716. }
  717. T0* r239smallest_ancestor(T239* C,T0* a1){
  718. T0* R=NULL;
  719. R=X291smallest_ancestor((((T239*)C))->_run_type/*8*/,a1);
  720. return R;
  721. }
  722. /*No:TYPE_LIKE_ARGUMENT.set_run_type*/
  723. int r239is_boolean(T239* C){
  724. int R=0;
  725. R=X291is_boolean((((T239*)C))->_run_type/*8*/);
  726. return R;
  727. }
  728. int r239is_double(T239* C){
  729. int R=0;
  730. R=X291is_double((((T239*)C))->_run_type/*8*/);
  731. return R;
  732. }
  733. T0* r239run_class(T239* C){
  734. T0* R=NULL;
  735. R=r604run_class((((T239*)C))->_run_type/*8*/);
  736. return R;
  737. }
  738. T0* r239run_time_mark(T239* C){
  739. T0* R=NULL;
  740. /*IF*/if (((((T239*)C))->_run_type/*8*/)!=((void*)(NULL))) {
  741. R=X291run_time_mark((((T239*)C))->_run_type/*8*/);
  742. }
  743. /*FI*/return R;
  744. }
  745. /*No:TYPE_LIKE_ARGUMENT.fz_cad*/
  746. int r239is_a_in(T239* C,T0* a1,T0* a2){
  747. int R=0;
  748. T0* _ct=NULL;
  749. T0* _t2=NULL;
  750. T0* _t1=NULL;
  751. /*IF*/if (((((T239*)C))->_written_mark/*16*/)==((void*)(X291written_mark(a1)))) {
  752. R=1;
  753. }
  754. else {
  755. _ct=(((T368*)((T368*)a2)))->_current_type/*0*/;
  756. _t1=r239to_runnable(C,_ct);
  757. _t2=X291to_runnable(a1,_ct);
  758. /*IF*/if ((X291run_time_mark(_t1))==((void*)(X291run_time_mark(_t2)))) {
  759. R=1;
  760. }
  761. else {
  762. R=X291is_a(_t1,_t2);
  763. }
  764. /*FI*/}
  765. /*FI*/return R;
  766. }
  767. T0* r239look_up_for(T239* C,T0* a1,T0* a2){
  768. T0* R=NULL;
  769. R=r605look_up_for(((T605*)(r239base_class(C))),a1,a2);
  770. return R;
  771. }
  772. T0* r239expanded_initializer(T239* C){
  773. T0* R=NULL;
  774. R=X291expanded_initializer((((T239*)C))->_run_type/*8*/);
  775. return R;
  776. }
  777. /*No:TYPE_LIKE_ARGUMENT.fz_dot*/
  778. int r239is_generic(T239* C){
  779. int R=0;
  780. R=X291is_generic((((T239*)C))->_run_type/*8*/);
  781. return R;
  782. }
  783. /*No:TYPE_LIKE_ARGUMENT.used_as_reference*/
  784. int r239is_reference(T239* C){
  785. int R=0;
  786. R=X291is_reference((((T239*)C))->_run_type/*8*/);
  787. return R;
  788. }
  789. void r239error(T0* a1,T0* a2){
  790. r683add_position(a1);
  791. r683error(((T683*)(oBC364eh)),a2);
  792. }
  793. T0* r239base_class(T239* C){
  794. T0* R=NULL;
  795. T0* _bcn=NULL;
  796. _bcn=r239base_class_name(C);
  797. /*IF*/if ((_bcn)!=((void*)(NULL))) {
  798. R=r451base_class(((T451*)_bcn));
  799. }
  800. else {
  801. /*[IRF3.6append*/{T0* b1=((T0*)ms3_291);
  802. r7append(((T7*)(oBC683explanation)),b1);
  803. }/*]*/
  804. r683add_type((T0*)C,((T0*)ms67_470));
  805. r683print_as_fatal_error(((T683*)(oBC364eh)));
  806. }
  807. /*FI*/return R;
  808. }
  809. /*No:TYPE_LIKE_ARGUMENT.fatal_error*/
  810. void r239short_hook(T239* C){
  811. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms1_239),((T0*)ms2_239));
  812. r886short(((T886*)((((T239*)C))->_like_what/*12*/)));
  813. }
  814. int r239is_any(T239* C){
  815. int R=0;
  816. R=X291is_any((((T239*)C))->_run_type/*8*/);
  817. return R;
  818. }
  819. T0*oBC646visited=NULL;
  820. T0* r239base_class_name(T239* C){
  821. T0* R=NULL;
  822. R=X291base_class_name((((T239*)C))->_run_type/*8*/);
  823. return R;
  824. }
  825. int r239is_expanded(T239* C){
  826. int R=0;
  827. R=X291is_expanded((((T239*)C))->_run_type/*8*/);
  828. return R;
  829. }
  830. /*No:TYPE_LIKE_ARGUMENT.fz_like_foo*/
  831. int r239is_basic_eiffel_expanded(T239* C){
  832. int R=0;
  833. R=X291is_basic_eiffel_expanded((((T239*)C))->_run_type/*8*/);
  834. return R;
  835. }
  836. int r239is_none(T239* C){
  837. int R=0;
  838. R=X291is_none((((T239*)C))->_run_type/*8*/);
  839. return R;
  840. }
  841. int r239is_integer(T239* C){
  842. int R=0;
  843. R=X291is_integer((((T239*)C))->_run_type/*8*/);
  844. return R;
  845. }
  846. void r239anchor_cycle_end(T239* C){
  847. /*IF*/if (((((T239*)C))->_start_position/*4*/)==((void*)(/*(IRF4.5first*//*(IRF4.6item*/((((T907*)((T907*)(oBC646visited))))->_storage/*0*/)[0]/*)*//*)*/))) {
  848. /*[IRF3.3clear*/((((T907*)(((T907*)(oBC646visited)))))->_upper)=(-(1));
  849. /*]*/
  850. }
  851. /*FI*/}
  852. /*No:INTEGER_CONSTANT.short*/
  853. T0* r342add_comment(T342* C,T0* a1){
  854. T0* R=NULL;
  855. /*IF*/if (((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r52count(((T52*)((((T393*)((T393*)a1)))->_list/*4*/)))/*)*/)==(0))) {
  856. R=(T0*)C;
  857. }
  858. else {
  859. {T529*n=malloc(sizeof(*n));
  860. *n=M529;
  861. r529make(n,(T0*)C,a1);
  862. R=(T0*)n;
  863. }
  864. }
  865. /*FI*/return R;
  866. }
  867. /*No:INTEGER_CONSTANT.to_integer*/
  868. void r342bracketed_short(T342* C){
  869. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms6_662),((T0*)ms7_662));
  870. /*[IRF3.6short*/{T342* C1=C;
  871. r580a_base_type_constant(((T580*)(oBC364short_print)),/*(IRF4.6to_string*/r2to_string(((int)((((T342*)C1))->_value/*12*/)))/*)*/);
  872. }/*]*/
  873. r580hook_or(((T580*)(oBC364short_print)),((T0*)ms8_662),((T0*)ms9_662));
  874. }
  875. int r342is_a(T342* C,T0* a1){
  876. int R=0;
  877. R=X291is_a(/*(IRF4.4run_type*/((T0*)((T788*)r342result_type()))/*)*/,X291run_type(X662result_type(a1)));
  878. /*IF*/if (!(R)) {
  879. r683add_position((((T342*)C))->_start_position/*8*/);
  880. r342error(X662start_position(a1),((T0*)ms4_662));
  881. }
  882. /*FI*/return R;
  883. }
  884. /*No:INTEGER_CONSTANT.is_current*/
  885. void r342make(T342* C,int a1,T0* a2){
  886. C->_value=a1;
  887. C->_start_position=a2;
  888. }
  889. /*No:INTEGER_CONSTANT.to_string*/
  890. /*No:INTEGER_CONSTANT.fz_iinaiv*/
  891. void r342unary_minus(T342* C){
  892. C->_value=-((((T342*)C))->_value/*12*/);
  893. }
  894. /*No:INTEGER_CONSTANT.start_position*/
  895. /*No:INTEGER_CONSTANT.precedence*/
  896. T0* r342to_runnable(T342* C,T0* a1){
  897. T0* R=NULL;
  898. /*IF*/if (((((T342*)C))->_current_type/*4*/)==((void*)(NULL))) {
  899. C->_current_type=a1;
  900. R=(T0*)C;
  901. }
  902. else {
  903. R=r342twin(C);
  904. /*[IRF3.3set_current_type*/((((T342*)(((T342*)R))))->_current_type)=(a1);
  905. /*]*/
  906. }
  907. /*FI*/return R;
  908. }
  909. int fBC342result_type=0;
  910. T0*oBC342result_type=NULL;
  911. T0* r342result_type(void){
  912. if (fBC342result_type==0){
  913. T0* R=NULL;
  914. fBC342result_type=1;
  915. {T788*n=malloc(sizeof(*n));
  916. *n=M788;
  917. r788make(n,NULL);
  918. R=(T0*)n;
  919. }
  920. oBC342result_type=R;}
  921. return oBC342result_type;}
  922. T0* r342twin(T342* C){
  923. T0* R=NULL;
  924. R=malloc(sizeof(*C));
  925. *((T342*)R)=*C;
  926. return R;
  927. }
  928. /*No:INTEGER_CONSTANT.set_current_type*/
  929. /*No:INTEGER_CONSTANT.atomic_precedence*/
  930. /*No:INTEGER_CONSTANT.value*/
  931. /*No:INTEGER_CONSTANT.current_type*/
  932. /*No:INTEGER_CONSTANT.is_manifest_string*/
  933. /*No:INTEGER_CONSTANT.is_void*/
  934. T0* r342to_real_constant(T342* C){
  935. T0* R=NULL;
  936. {T936*n=malloc(sizeof(*n));
  937. *n=M936;
  938. r936make(n,(((T342*)C))->_start_position/*8*/,r2to_string((((T342*)C))->_value/*12*/));
  939. R=(T0*)n;
  940. }
  941. return R;
  942. }
  943. void r342error(T0* a1,T0* a2){
  944. r683add_position(a1);
  945. r683error(((T683*)(oBC364eh)),a2);
  946. }
  947. void r342short_target(T342* C){
  948. r342bracketed_short(C);
  949. /*[IRF3.6a_dot*/{T580* C1=((T580*)(oBC364short_print));
  950. r580hook_or(C1,((T0*)ms58_580),((T0*)ms67_470));
  951. }/*]*/
  952. }
  953. T0* r377to_runnable_integer(T377* C,T0* a1){
  954. T0* R=NULL;
  955. T0* _e_when=NULL;
  956. int _i=0;
  957. /*IF*/if (((((T377*)C))->_e_inspect/*0*/)==((void*)(NULL))) {
  958. C->_e_inspect=a1;
  959. _i=1;
  960. while (!(((_i)>((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) {
  961. _e_when=r843to_runnable_integer(((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i))),(T0*)C);
  962. /*IF*/if ((_e_when)==((void*)(NULL))) {
  963. r377error(r377start_position(C),((T0*)ms1_377));
  964. }
  965. else {
  966. /*[IRF3.6put*/{T147* C1=((T147*)((((T377*)C))->_list/*4*/));
  967. T0* b1=_e_when;
  968. int b2=_i;
  969. ((((T147*)C1))->_storage/*0*/)[(b2)-((((T147*)C1))->_lower/*12*/)]=(b1);
  970. }/*]*/
  971. }
  972. /*FI*/_i=(_i)+(1);
  973. }
  974. R=(T0*)C;
  975. }
  976. else {
  977. {T377*n=malloc(sizeof(*n));
  978. *n=M377;
  979. r377from_when_list(n,(T0*)C);
  980. R=(T0*)n;
  981. }
  982. R=r377to_runnable_integer(((T377*)R),a1);
  983. }
  984. /*FI*/return R;
  985. }
  986. /*No:WHEN_LIST.make*/
  987. /*No:WHEN_LIST.nb_errors*/
  988. T0* r377start_position(T377* C){
  989. T0* R=NULL;
  990. R=(((T843*)((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),1)))))->_start_position/*0*/;
  991. return R;
  992. }
  993. /*No:WHEN_LIST.em1*/
  994. /*No:WHEN_LIST.list*/
  995. /*No:WHEN_LIST.current_type*/
  996. void r377from_when_list(T377* C,T0* a1){
  997. T0* _e_when=NULL;
  998. int _i=0;
  999. C->_list=r147twin(((T147*)((((T377*)((T377*)a1)))->_list/*4*/)));
  1000. _i=1;
  1001. while (!((_i)>((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/))) {
  1002. {T843*n=malloc(sizeof(*n));
  1003. *n=M843;
  1004. r843from_e_when(n,r147item(((T147*)((((T377*)C))->_list/*4*/)),_i));
  1005. _e_when=(T0*)n;
  1006. }
  1007. /*[IRF3.6put*/{T147* C1=((T147*)((((T377*)C))->_list/*4*/));
  1008. T0* b1=_e_when;
  1009. int b2=_i;
  1010. ((((T147*)C1))->_storage/*0*/)[(b2)-((((T147*)C1))->_lower/*12*/)]=(b1);
  1011. }/*]*/
  1012. _i=(_i)+(1);
  1013. }
  1014. }
  1015. void r377error(T0* a1,T0* a2){
  1016. r683add_position(a1);
  1017. r683error(((T683*)(oBC364eh)),a2);
  1018. }
  1019. /*No:WHEN_LIST.add_last*/
  1020. int r377includes_integer(T377* C,int a1){
  1021. int R=0;
  1022. int _i=0;
  1023. _i=1;
  1024. while (!((R)||((_i)>((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/)))) {
  1025. R=r843includes_integer(((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i))),a1);
  1026. _i=(_i)+(1);
  1027. }
  1028. return R;
  1029. }
  1030. T0* r377to_runnable_character(T377* C,T0* a1){
  1031. T0* R=NULL;
  1032. T0* _e_when=NULL;
  1033. int _i=0;
  1034. /*IF*/if (((((T377*)C))->_e_inspect/*0*/)==((void*)(NULL))) {
  1035. C->_e_inspect=a1;
  1036. _i=1;
  1037. while (!(((_i)>((((T147*)((T147*)((((T377*)C))->_list/*4*/))))->_upper/*8*/))||((/*(IRF4.9nb_errors*/(((T683*)((T683*)(oBC364eh))))->_nb_errors/*0*//*)*/)>(0)))) {
  1038. _e_when=r843to_runnable_character(((T843*)(r147item(((T147*)((((T377*)C))->_list/*4*/)),_i))),(T0*)C);
  1039. /*IF*/if ((_e_when)==((void*)(NULL))) {
  1040. r377error(r377start_position(C),((T0*)ms1_377));
  1041. }
  1042. else {
  1043. /*[IRF3.6put*/{T147* C1=((T147*)((((T377*)C))->_list/*4*/));
  1044. T0* b1=_e_when;
  1045. int b2=_i;
  1046. ((((T147*)C1))->_storage/*0*/)[(b2)-((((T147*)C1))->_lower/*12*/)]=(b1);
  1047. }/*]*/
  1048. }
  1049. /*FI*/_i=(_i)+(1);
  1050. }
  1051. R=(T0*)C;
  1052. }
  1053. else {
  1054. {T377*n=malloc(sizeof(*n));
  1055. *n=M377;
  1056. r377from_when_list(n,(T0*)C);
  1057. R=(T0*)n;
  1058. }
  1059. R=r377to_runnable_character(((T377*)R),a1);
  1060. }
  1061. /*FI*/return R;
  1062. }
  1063. /*No:WHEN_LIST.e_inspect*/
  1064. /*No:ERROR_HANDLER.nb_warnings*/
  1065. T0*oBC683explanation=NULL;
  1066. void r683incr_nb_warnings(T683* C){
  1067. C->_nb_warnings=((((T683*)C))->_nb_warnings/*4*/)+(1);
  1068. }
  1069. /*No:ERROR_HANDLER.extend*/
  1070. void r683incr_nb_errors(T683* C){
  1071. C->_nb_errors=((((T683*)C))->_nb_errors/*0*/)+(1);
  1072. /*IF*/if (((((T683*)C))->_nb_errors/*0*/)>=(6)) {
  1073. r441put_string(((T441*)(oBC1std_error)),((T0*)ms75_470));
  1074. r441put_string(((T441*)(oBC1std_error)),((T0*)ms5_683));
  1075. exit(1);
  1076. }
  1077. /*FI*/}
  1078. /*No:ERROR_HANDLER.exit_failure_code*/
  1079. /*No:ERROR_HANDLER.make*/
  1080. /*No:ERROR_HANDLER.nb_errors*/
  1081. void r683print_as_fatal_error(T683* C){
  1082. r683do_print(((T0*)ms4_683));
  1083. exit(1);
  1084. }
  1085. /*No:ERROR_HANDLER.no_warning*/
  1086. void r683add_position(T0* a1){
  1087. /*IF*/if ((a1)!=((void*)(NULL))) {
  1088. /*IF*/if (!(r51has(((T51*)(oBC683positions)),a1))) {
  1089. r51add_last(((T51*)(oBC683positions)),a1);
  1090. }
  1091. /*FI*/}
  1092. /*FI*/}
  1093. /*No:ERROR_HANDLER.set_no_warning*/
  1094. void r683print_as_warning(T683* C){
  1095. /*IF*/if ((((T683*)C))->_no_warning/*8*/) {
  1096. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
  1097. /*]*/
  1098. r51clear(((T51*)(oBC683positions)));
  1099. /*]*/
  1100. }
  1101. else {
  1102. r683do_print(((T0*)ms2_683));
  1103. r683incr_nb_warnings(C);
  1104. }
  1105. /*FI*/}
  1106. void r683add_type(T0* a1,T0* a2){
  1107. /*[IRF3.6append*/{T0* b1=((T0*)ms1_683);
  1108. r7append(((T7*)(oBC683explanation)),b1);
  1109. }/*]*/
  1110. /*IF*/if (X291is_run_type(a1)) {
  1111. /*[IRF3.6append*/{T0* b1=X291run_time_mark(a1);
  1112. r7append(((T7*)(oBC683explanation)),b1);
  1113. }/*]*/
  1114. }
  1115. else {
  1116. /*[IRF3.6append*/{T0* b1=X291written_mark(a1);
  1117. r7append(((T7*)(oBC683explanation)),b1);
  1118. }/*]*/
  1119. }
  1120. /*FI*//*[IRF3.6append*/{T0* b1=a2;
  1121. r7append(((T7*)(oBC683explanation)),b1);
  1122. }/*]*/
  1123. r683add_position(X291start_position(a1));
  1124. }
  1125. void r683print_as_error(T683* C){
  1126. r683do_print(((T0*)ms3_683));
  1127. r683incr_nb_errors(C);
  1128. }
  1129. void r683error(T683* C,T0* a1){
  1130. /*[IRF3.6append*/{T0* b1=a1;
  1131. r7append(((T7*)(oBC683explanation)),b1);
  1132. }/*]*/
  1133. r683print_as_error(C);
  1134. }
  1135. /*No:ERROR_HANDLER.fz_error_stars*/
  1136. void r683fatal_error(T683* C,T0* a1){
  1137. r7append(((T7*)(oBC683explanation)),a1);
  1138. r683print_as_fatal_error(C);
  1139. }
  1140. /*No:ERROR_HANDLER.cancel*/
  1141. T0*oBC683positions=NULL;
  1142. /*No:ERROR_HANDLER.append*/
  1143. void r683warning(T683* C,T0* a1){
  1144. /*[IRF3.6append*/{T0* b1=a1;
  1145. r7append(((T7*)(oBC683explanation)),b1);
  1146. }/*]*/
  1147. r683print_as_warning(C);
  1148. }
  1149. void r683do_print(T0* a1){
  1150. char _previous_cc=0;
  1151. char _cc=0;
  1152. int _cpt=0;
  1153. int _i=0;
  1154. r441put_string(((T441*)(oBC1std_error)),((T0*)ms75_470));
  1155. r441put_string(((T441*)(oBC1std_error)),a1);
  1156. r441put_string(((T441*)(oBC1std_error)),((T0*)ms6_683));
  1157. _i=1;
  1158. _cpt=(9)+((((T7*)((T7*)a1)))->_count/*4*/);
  1159. while (!((_i)>((((T7*)((T7*)(oBC683explanation))))->_count/*4*/))) {
  1160. _previous_cc=_cc;
  1161. _cc=/*(IRF4.6item*/((((T7*)((T7*)(oBC683explanation))))->_storage/*0*/)[(_i)-(1)]/*)*/;
  1162. _i=(_i)+(1);
  1163. /*IF*/if ((_cpt)>(60)) {
  1164. /*IF*/if ((_cc)==('\40')) {
  1165. /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
  1166. char b1='\n';
  1167. putc(b1,((FILE*)(stderr)));
  1168. }/*]*/
  1169. _cpt=0;
  1170. }
  1171.  else if (((_previous_cc)==('\54'))||((_previous_cc)==('\57'))) {
  1172. /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
  1173. char b1='\n';
  1174. putc(b1,((FILE*)(stderr)));
  1175. }/*]*/
  1176. /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
  1177. char b1=_cc;
  1178. putc(b1,((FILE*)(stderr)));
  1179. }/*]*/
  1180. _cpt=1;
  1181. }
  1182. else {
  1183. /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
  1184. char b1=_cc;
  1185. putc(b1,((FILE*)(stderr)));
  1186. }/*]*/
  1187. _cpt=(_cpt)+(1);
  1188. }
  1189. /*FI*/}
  1190. else {
  1191. /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
  1192. char b1=_cc;
  1193. putc(b1,((FILE*)(stderr)));
  1194. }/*]*/
  1195. {int z1=_cc;
  1196.  
  1197. if((10==z1)){
  1198. _cpt=0;
  1199. }
  1200.  else{_cpt=(_cpt)+(1);
  1201. }}
  1202. }
  1203. /*FI*/}
  1204. /*[IRF3.6put_character*/{T441* C1=((T441*)(oBC1std_error));
  1205. char b1='\n';
  1206. putc(b1,((FILE*)(stderr)));
  1207. }/*]*/
  1208. _i=(((T51*)((T51*)(oBC683positions))))->_lower/*12*/;
  1209. while (!((_i)>((((T51*)((T51*)(oBC683positions))))->_upper/*8*/))) {
  1210. r627show(((T627*)(r51item(((T51*)(oBC683positions)),_i))));
  1211. _i=(_i)+(1);
  1212. }
  1213. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)(((T7*)(oBC683explanation)))))->_count)=(0);
  1214. /*]*/
  1215. r51clear(((T51*)(oBC683positions)));
  1216. /*]*/
  1217. r441put_string(((T441*)(oBC1std_error)),((T0*)ms7_683));
  1218. }
  1219.  
  1220.